<?php
/**
 * ////////////////// 这是一个开发规范声明 //////////////////
 * 
 * 1、文件应该使用 Unicode (UTF-8) 编码保存。
 * 2、在文件的底部不必添加“?>”这个结束符，但需要留一个空行
 * 3、文件，类，方法（函数），变量，常量的命名规划
 * 4、注释：块（每个文件，类，方法和函数上方）和单行
 * 5、文件头部注释，添加一个“@version $Id: __Coding.php 426 2013-02-20 07:25:21Z linsir123 $”用于显示版本信息（通过SVN控制）
 * 6、对于代码的缩进，应当使用"Tab键"而不是使用"空格键"，尽量让代码的层次感明显点
 * 7、使用 ! 时要在其前后都加一个空格
 * 8、调试代码清理（上线的程序最好不要存在调试代码）
 * 9、慎用有兼容性和系统级别的内置函数（如：system）
 * 10、方括号及圆括号内的空格符，不应该存在，除了在方法或函数中的参数列表
 * 11、切记不要在一行写多条语句
 * 12、在echo多个变量是使用“,”而不是“.” 
 * 13、单引号和双引号的使用，不需要转义尽量使用单引号
 * 14、语句的代码缩进和结构参考以下写法
 * 15、【类】一个文件只放置一个类，类中的方法间需要空格隔开
 * 16、【类】在设计类的时候暴露给外部使用或内部私有方法需要定义清楚（私有方法尽量放在类底部）
 * 17、【类】类与类的角色需要定义清楚并且尽量降低之间的耦合度
 * 18、【类】单例和工场模式在设计中的运用
 * 
 * 
 * ////////////////// 命名规范 //////////////////
 * 
 * 1、类：
 * 	1.1：如果是一个单词，则首字大写，如：App。
 * 	1.2：如果是多个单词，则第一个单词小写，后面每个单词的首字大写，如：ControllerIndex。
 * 
 * 2、类方法：
 * 	2.1：公有，
 * 		2.1.1：如果是一个单词，则全小写，如：public singleton()。
 * 		2.1.2：如果是多个单词，则第一个单词小写，后面每个单词的首字大写，如：public initHandler()。
 * 	2.2：私有，在上述“公有”方法之前添加“_”，如：private _initHandler()。
 * 
 * 3、类属性：
 * 	3.1：公有，同上。
 * 	3.2：私有，同上。
 * 	3.3：静态，在上述“公有”属性之前添加“__”，如：static $__instance。
 * 
 * 4、变量，数组下标：同类属性（公有）。
 * 5、函数：同类方法（公有）。
 * 6、常量：全大写，若有多个单词则以“_”隔开。
 * 7、文件：类文件，每个单词首字大写，如：AppController.php。
 * 8、关键字：全大写，如：PHP
 * 
 * ////////////////// END //////////////////
 * 
 * @version $Id: __Coding.php 426 2013-02-20 07:25:21Z linsir123 $
 */

class CodeDemo
{
	/**
	 * @var 这是属性的声明
	 */
	public $versionCode;
	
	/**
	 * @var 这是一个私有属性
	 */
	private $_versionName;
	
	/**
	 * @var 保护类型同私有一至
	 */
	protected $_id;
	
	/**
	 * 构造函数
	 * 每个方法都需有一段相关的注释
	 * 在方法内如果代码写得比较时，建议用“//”加于区分，如有必要添加注释
	 * 当一个方法内的逻辑比较复杂时，需要尽量将逻辑细化考虑是否需要重构
	 */
	public function __construct()
	{
		// echo的正确使用，直接使用“,”而不必使用连接符
		$a = 1;
		$b = 2;
		echo $a, $b;
		
		// if，for语句(单行，在if或for结束加一个空格)(取非“!”前后都加一个空格)
		$id = $this->_getId();
		if ( ! empty($id)) 
			echo $id;
			
		// if，for语句(多行)
		for ($i=0; $i<10; $i++) {
			$message = sprintf("Num %d", $i+1);
			echo $message;
		}
	}
	
	/**
	 * 这是一个私有方法
	 */
	private function _getId()
	{
		return $this->_id;
	}
}
